
// JQuery(#foo)

// 类型别名
type PlusType = (x: number, y: number) => number

function sum(x: number, y: number): number {
    return x + y
}

const sum2: PlusType = sum

type name1 = () => string
type name2 = string | name1

function getName(n: name2): string {
    if (typeof n === 'string') {
        return n
    } else {
        return n()
    }
}

// 类型断言

function getLength(input: string | number): number {
    const str = input as String
    // if (str.length) {
    //     return str.length
    // } else {
    //     return number.toString.length
    // }
    if ((<String>input).length) {
        return (<String>input).length
    } else {
        return input.toString().length
    }
}